1. Field of Invention
The present invention relates to image scaling. More particularly, the present invention relates to image interpolating method to zoom a digital image.
2. Description of Related Art
Multimedia communication is becoming important in modem networks. Human can talk face to face and exchange the information each other by Internet and wireless communication. However, the digital image and video sequence have larger size of data, and network bandwidth is limited, thus the quality of multimedia communication decreases. If the low-resolution video sequences are coded in the encoder, and the low-resolution video sequences are enlarged to high-resolution ones using interpolation techniques in the decoder, the bandwidth will be saved.
Briefly, the image interpolation is about image enlargement. Some common interpolation algorithms are proposed, which include zero-order interpolation, linear interpolation and cubic convolution interpolation, . . . etc. To solve artifact effects, many algorithms are proposed, which interpolate images using pixels feature. However, the methods of determining pixel feature need higher computational complexity, and do not achieve real-time (30 frames/sec) image enlargement in video sequence.
To solve artifact effects for image interpolation, many algorithms are proposed. The algorithm can be based on spatial domain direction. The interpolated values along various directions are combined using directional weights, which depend on the variation in the direction. The algorithms also include convolution-based, wherein the interpolated pixels are classified to two decimations. The different decimations are interpolated using different filters, respectively. Also, a hybrid of convolution and median-based is conventionally used by splitting the interpolation into two directional stages.
Also and, a NEDI (new edge-directed interpolation) algorithm is a good algorithm, which produces better subjective quality for image enlargement. The basic idea in NEDI algorithm is first to estimate local covariance coefficient from a low-resolution image and then use these covariance estimates to adapt the interpolation at a higher resolution based on the geometric duality between the low-resolution covariance and the high-resolution covariance. The covariance-based interpolation algorithm has higher computational complexity.
The high-resolution covariance is estimated from its low-resolution counterpart based on their intrinsic “geometric duality”. Geometric duality refers to the correspondence between the high-resolution covariance and low-resolution covariance that couple the pair of pixels at the different resolutions but along the same orientation. FIG. 1 shows the geometric duality between the high-resolution covariance Rkl, rk and the low-resolution covariance {circumflex over (R)}kl, {circumflex over (r)}k when interpolating the interlacing lattice Y2i+1,2 j+1 form Y2i,2j. Geometric duality facilitates the estimation of local covariance for 2-D signals without the necessity of explicitly estimating the edge orientation. Similar geometric duality can also be observed in FIG. 2 when interpolating the interlacing lattice Yij(i+j=odd) from the lattice Yij(i+j=even). In fact, FIG. 1 and FIG. 2 are isomorphic up to a scaling factor of 21/2 and a rotation factor of π/4.
The low-resolution covariance {circumflex over (R)}kl, {circumflex over (r)}k can be easily estimated from a local window of the low-resolution image using the classical covariance method
                                          R            ^                    =                                    1                              M                2                                      ⁢                          C              T                        ⁢            C                          ,                              r                          ⇀              ^                                =                                    1                              M                2                                      ⁢                          C              T                        ⁢                          y              ⇀                                                          (        1        )            where {right arrow over (y)}=[yl . . . yk . . . yM2]2 is the data vector containing the M×M pixels inside the local window and C is a 4×M2 data matrix whose k-th column vector is the four nearest neighbors of yk along the diagonal direction. The interpolated value of y2i+1,2j+1 can be obtained in the following
                              Y                                                    2                ⁢                i                            +              1                        ,                                          2                ⁢                j                            +              1                                      =                              ∑                          k              =              0                        1                    ⁢                                          ⁢                                    ∑                              l                =                0                            1                        ⁢                                                  ⁢                                          α                                                      2                    ⁢                    k                                    +                  1                                            ⁢                              Y                                                      2                    ⁢                                          (                                              i                        +                        k                                            )                                                        ,                                      2                    ⁢                                          (                                              j                        +                        1                                            )                                                                                                                              (        2        )            According to classical Wiener filtering theory, the optimal minimum mean squared error (MMSE) linear interpolation coefficients are given by{right arrow over (α)}=R−1{right arrow over (r)}  (3)According to (1) and (3), {right arrow over (α)} is obtained in the following.{right arrow over (α)}=(CTC)−1(CT{right arrow over (y)})  (4)
The NEDI algorithm can be used to magnify the size of a grayscale image by any factor that is a power of two along each dimension. In the basic case where the magnification factor is just two, the resizing scheme consists of two steps: the first step is to interpolate the interlacing lattice Y2i+1,2j+1 from the lattice Y2i,2j; and the second step is to interpolate the other interlacing lattice Yij(i+j=odd) from the lattice Yij(i+j=even).
Even though many interpolation algorithms have been proposed, the current interpolation algorithms still consume a lot of computation time to zoom an image up. A fast interpolating algorithm is still under developing.